﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using Model;

namespace Controllers.WebApi
{
    //public class TestController : ApiController
    //{
    //    [HttpGet]
    //    public async Task<List<VM>> Demo1()
    //    {
    //        List<VM> vmList = new List<VM>();

    //        var task1 = GetPowerList();
    //        var task2 = GetRoleList();
    //        await Task.WhenAll(task1,task2);
    //        List<Power> powerList= task1.Result;
    //        List<Role> roleList = task2.Result;
    //        for (int i = 0; i < powerList.Count; i++)
    //        {
    //            VM vm = new VM();
    //            vm.PowerId = powerList[i].PowerId;
    //            vm.RoleId = roleList[i].RoleId;
    //            vmList.Add(vm);
    //        }

    //        return vmList;
    //    }

    //    [HttpPost]
    //    public List<Power> Demo2()
    //    {
    //        Power power1 = new Power() { PowerId = "ffff", ParentId = "0" };
    //        Power power2 = new Power() { PowerId = "ffff", ParentId = "0" };
    //        List<Power> powerList = new List<Power>();
    //        powerList.Add(power1);
    //        powerList.Add(power2);

    //        return powerList;
    //    }

    //    #region 私有方法

    //    [NonAction]
    //    private async Task<List<Power>> GetPowerList()
    //    {
    //        var taskResult= await Task.Run(()=>
    //        {
    //            Power power1 = new Power() { PowerId = "66", ParentId = "0" };
    //            Power power2 = new Power() { PowerId = "555", ParentId = "0" };
    //            List<Power> powerList = new List<Power>();
    //            powerList.Add(power1);
    //            powerList.Add(power2);

    //            return powerList;
    //        });

    //        return taskResult;
    //    }

    //    [NonAction]
    //    private async Task<List<Role>> GetRoleList()
    //    {
    //        var taskResult = await Task.Run(() =>
    //        {
    //            Role role1 = new Role() { RoleId="222"};
    //            Role role2 = new Role() { RoleId = "333" };
    //            List<Role> roleList = new List<Role>();
    //            roleList.Add(role1);
    //            roleList.Add(role2);

    //            return roleList;
    //        });

    //        return taskResult;
    //    }

    //    public class VM
    //    {
    //        public string PowerId { get; set; }
    //        public string RoleId { get; set; }
    //    } 

    //    #endregion

    //}
}
